Estimating object orientation can be useful in various computing scenarios. For example, the object can be a user's head, in which case orientation of the user's head can be useful for indicating intent of the user while interacting with a computer. For example, estimating head orientation can help translate a command from a user, such as by indicating a video game object that the user is directing the command toward in the video game.
Depth information can be an important data source for high quality estimations of object orientation. However, object orientation estimates using depth information can be affected by suboptimal environmental and/or operating conditions. Examples of suboptimal conditions can include the distance of the object from a sensor, low available image resolution, varying light conditions, artifacts from sensor noise and/or depth multi-path effects, and/or occlusions, such as a hand in front of a face. Also, constraints can include a computational resource budget such that certain approaches are impractical, including frame-to-frame tracking and/or a pre-calibration step. All of these constraints may be concurrently present. For example, a video game may involve input from several players participating simultaneously, at different distances from a camera, and demanding real-time head orientation estimates.